const webpack = require('webpack')
const {
    HTTP
} = require('./src/config/index')

// const TerserPlugin = require('terser-webpack-plugin')
module.exports = {
    configureWebpack: {
        plugins: [
            new webpack.ProvidePlugin({
                'window.Quill': 'quill/dist/quill.js',
                Quill: 'quill/dist/quill.js'
            })
        ]
    },
    publicPath: './',
    outputDir: 'dist',
    assetsDir: 'static',
    lintOnSave: false,
    //不生成map文件
    productionSourceMap: false,
    devServer: {
        host: '0.0.0.0',
        open: false,
        port: process.env.VUE_APP_PORT,
        //页面自动热重载
        hot: true,
        // host: "127.0.0.1",
        proxy: HTTP.proxy && {
            //配置多个同域名代理
            ...Object.assign(
                ...HTTP.cross_prefix.map(p => {
                    let item = {
                        [p]: {
                            target: HTTP.cross_domain,
                            changeOrigin: true,
                            pathRewrite: {
                                [`^${p}`]: p
                            },
                        },
                    }
                    return item
                })
            ),
        },
    },

    css: {
        loaderOptions: {
            // 给 sass-loader 传递选项
            sass: {
                // @/ 是 src/ 的别名
                // 所以这里假设你有 `src/variables.sass` 这个文件
                // 注意：在 sass-loader v8 中，这个选项名是 "prependData"
                additionalData: `@import "@/assets/css/use.scss";`
            },
            // 默认情况下 `sass` 选项会同时对 `sass` 和 `scss` 语法同时生效
            // 因为 `scss` 语法在内部也是由 sass-loader 处理的
            // 但是在配置 `prependData` 选项的时候
            // `scss` 语法会要求语句结尾必须有分号，`sass` 则要求必须没有分号
            // 在这种情况下，我们可以使用 `scss` 选项，对 `scss` 语法进行单独配置
            // scss: {
            //   additionalData: `@import "~@/variables.scss";`
            // },
            // 给 less-loader 传递 Less.js 相关选项
        }
    },




}